約 2,719,265 件
https://w.atwiki.jp/tanken/pages/183.html
TITLE link http //hp.0zero.jp/2/SANGO/ #nomenubar - 2008年04月25日 (金) 15時13分51秒 バックリンク Yahoo!Api #showrss2 RSSにてネット探検隊のバックリンク 只今187ぐらい
https://w.atwiki.jp/murindo/pages/26.html
フォトニック通信 学年 3年 時期 前期 時間 火曜2限 教員 黒田道子 教科書情報 光ファイバ通信入門 教科書番号 67 教科書販売価格 \3620 備考 必要性 選択肢 投票 5 (0) 4 (0) 3 (0) 2 (0) 1 (0) コメント 名前 コメント 分類 3年前期 火曜2限
https://w.atwiki.jp/draemonash/pages/36.html
ここを編集 アドイン VbePlus インストール後、VBEのツールバー→アドイン→アドインマネージャ VbePlus のロード方法を「起動時/ロード」に変更 MZTools インストールしても表示されない場合、HKEY_CURRENT_USER に必要なレジストリキーが登録されていない可能性がある。 Administrator の HKEY_CURRENT_USER からコピーすること。 Tips モジュール名と関数名を同じにすることはできない。 二次元配列の再定義について 一次元目の要素数は変更できない。二次元目のサイズのみ拡張できる。 二次元目の要素数を変更した場合、一次元目にまで影響する。(ex. (0, 1)、(1, 1) の要素数を持つ配列に対して (1, 1) ⇒ (1, 3) と要素数を変更した場合、(0, 3)、(1, 3) の配列となる) エラー「定数式が必要です」について デバッグを途中で停止すると、設定しているはずの値が未定義扱いとなりコンパイルエラーが発生することがある。 対策は ENUM 定義名を編集して再度戻す。 Sheets と Worksheets の違い Excel のシートには複数の種類がある。(ex.グラフシート、モジュールシート、ワークシート…) Sheets は「上記のすべてを包含した」オブジェクト Worksheets は「ワークシートのみ」のオブジェクト IntegerとLongどちらが良い? 型の違いによる速度比較 5千万回値の代入を行った結果、Integer型:515ms、Long型:465ms かかった。(10%程Long型の方が早い) 環境:Windows 7 64bit オフィス:Office 2013 32bit 理由は動作環境が 32bit Office のため、 4Byte 型変数の方がアクセスが早いためと思われる。 型の違いによるサイズ比較 Integer型変数(2Byte)なら1GB満たすまで5億個変数宣言できる Long型変数(4Byte)なら1GB満たすまで2.5億個変数宣言できる(容量の圧迫は気にならない) 上記を踏まえると Long 型を使用するのが良い!(アクセスも早いし、容量も気にするほど大きくないため) Const配列の作り方 Const配列は VBA では定義できないが、Const 文字列を Split することで実現可能。(書き換えられてしまうが。。) Const C_AAA = "Hello!,World!" asArray = Split(C_AAA, ",") CreateObject 関数について 作成したオブジェクトは、使用後に必ず Nothing を設定すること! オブジェクトが解放されなくなりメモリに残り続けることになる! 連続した空白を持つ文字列を Split 関数で分割した場合、空文字列の要素ができてしまう問題 事前に連続した空白を一つにまとめてから Split する サンプルコード クラスモジュールのメリット・デメリット デメリット インスタンス化したオブジェクトを他クラスで参照できない。 ⇒オブジェクトを生成したクラスをグローバルにすれば良い Property を使用する場合、コード量が多い 構造体が使えない クラスは入れ子にすることができる。( クラスの入れ子 ) 列挙体が使えない メリット グローバル変数を隠蔽できる。 グローバル変数を変更する場合の影響範囲をクラス内に制限できる 別クラスなら同じ関数名を使える。 クラスのポリモーフィズム 初期化処理呼び出し不要。 高速化方法まとめ csv ファイル取り込み方法 一覧へのアクセスは Dictionary を使う。 セルへのアクセスは variant 型変数へ代入してから書き戻す。 グラフ生成は極力オプションを減らす。 正規表現検索は極力使わない。InStr で代用(先頭にあるかどうかは InStr() = 0 で判定する) 空白埋めは一つ一つセルに代入せず、空白セル選択からの一括値代入。 With を使う。 Integer ではなく Long を使う。 配列・Collection・Dictionary の速度 詳細な測定結果は添付ファイル「Array・Collection・Dictionary速度比較.xlsm」参照 配列 全体的に爆速!インデックスアクセスだけなら配列を使うこと! Dictionary インデックスアクセスは遅すぎるので、絶対インデックスアクセスするな!必ず For Each でアクセスすること! Collection 大きな要素番号にアクセスする際は遅くなる!ので、要素数が予想できない場合は基本使わない。ただし、Key アクセスの場合は問題なし! CPU 使用率抑える方法 長い処理の間に sleep 1 を追加する。 処理は長くなるが、バックグラウンドでの処理がはかどる。 ファイルオープン「バイナリモード」について 改行コードなどを区切り文字として扱わず、1バイト単位でファイルの先頭から逐次読み書きする。 バイナリファイルの読み書きをする際に使用する。 Like 演算子について 正規表現の「ように」比較できる。 使用例:If sAddress Like "[!東京,横浜,千葉]*" Then ~ 「東京、横浜、千葉ではない住所」の場合~ 記号 意味 使用例 マッチする文字列 ? 任意の1文字 たな? たなか、たなべ、たなし(など) * 0個以上の任意の文字 たか* たかだ、たかなか、たかやなぎ(など) # 1文字の数値(0~9) ## 01、26、95(など) [charlist] charlistに指定した文字の中の1文字 [A-F] A、B、C、D、E、F [!charlist] charlistに指定した文字の中に含まれない1文字 [!A-F] G 、H、I(など) On Error の入れ子について On Error は関数を跨いだ入れ子をしても問題なし。 ただし、関数内の入れ子は適用されない。 Sub main() On Error Resume Next On Error Resume Next Call subfunction Debug.Print 5 / 0 ⇒実行時エラー無し On Error GoTo 0 Debug.Print 5 / 0 ⇒実行時エラーが発生してプログラムが停止する。 On Error GoTo 0 End Sub Sub subfunction() On Error Resume Next Debug.Print 5 / 0 ⇒実行時エラー無し On Error GoTo 0 Debug.Print 5 / 0 ⇒実行時エラー無し End Sub 大きさの単位「ポイント」と「ピクセル」について ポイント:Microsoftが定義する単位(おそらく)。8.38 ポイントはMSゴシック11ポイント(半角) で8文字と少し表示できる幅。 ピクセル:ディスプレイの表示やプリンタの出力を構成する最小単位(小さな点) VBE 設定 Excel リボンに「開発」を追加 ツール ⇒ オプション ⇒ リボンユーザー設定にて [*] 開発 変数宣言を強制 (変数名が誤りでも実行時までエラーが発生しないため変更) ツール ⇒ オプション ⇒ 編集 ⇒ [*] 変数の宣言を強制する 自動構文チェックを無視 (改行の度に警告ウィンドウが発生するため) ツール ⇒ オプション ⇒ 編集 ⇒ [_] 自動構文チェック エディタ文字・背景色の変更 ツール ⇒ オプション ⇒ エディタ ⇒ コードの表示色 を良しなに… 複数行コメントアウトボタン設置 表示 ⇒ ツールバー ⇒ [*] 編集 ⇒ オプション VBE ショートカットキー 項目 キー配置 IntelliSense 実行 Ctrl+Space IntelliSense 選択 Tab マクロ強制終了 Ctrl+Break 定義へ移動(≒タグジャンプ) Shift+F2 元の場所へ移動(≒タグジャンプ) Ctrl+Shift+F2 構文 「~」は改行を示す。 【変数強制定義】Option Explicit 【変数/配列定義】Dim aVal(5) As Integer 要素数は0オリジン。左の例では要素数6の配列が作成される 【定数定義】Const NUM As Integer = 1 【構造体定義】Type T_XXX ~ iVal1 As Integer ~ iVal2 As Integer ~ End Type 【関数定義】Private Function FuncA ( sVal1 As String, sVal2 As Integer ) ~ End Function 【関数呼出】Call Func() 【関数エラー値返却】Dim vRetVal As Variant ~ vRetVal = CVErr(xlErrRef) #VALUEを返却 【マクロ定義】Public Sub SubA ( sVal1 As String, sVal2 As Integer ) ~ End Sub 【列挙型定義】Enum E_XXX ~ NUM1 ~ NUM2 ~ End Enum 【ブロック脱出(Sub/Function/For/Do)】Exit (Sub|Function|For|Do) 【連続コマンド実行】Dim sStr As String sStr = "abc" 【一時停止】Stop 【クラスインスタンス生成】Dim cPrfrmMes As New PerformanceMeasurement 【クラスインスタンス破棄】Set cPrfrmMes = Nothing 【プログラム終了】End 【関数エラー値返却】Dim vRetVal As Variant ~ vRetVal = CVErr(xlErrRef) #VALUEを返却(エラー値の詳細は こちら 参照) 【if】If iVal = 1 Or iVal = 2 Then ~ ElseIf iVal = 3 Then ~ Else ~ End If 【if(空オブジェクト確認)】If objTest Is Nothing Then ~ Else ~ End If 【switch】Select Case iVal ~ Case 1 ~ Case Else ~ End Select 【for】For iVal1 = 1 To 3 [Step 1] ~ Next Val 【for each】For Each Value in Values ~処理~ Next 【while】Do ~(条件式=真)~ Loop While 条件式 【do while】Do While 条件式 ~(条件式=真)~ Loop 【do until】Do Until 条件式 ~(条件式=偽)~ Loop 【with】With オブジェクト名 ~ End With 【コメント】 コメント 【入力】sStr = InputBox( "テキストを入力してください", "title", "default value" ) 【出力1】MsgBox "Hello world", vbExclamation 第二引数入力時に候補が表示される 【出力2】Debug.Print "Hello world" 【チェック処理】Debug.Assert 条件式 Falseの場合、処理を一時停止 【確認処理】Dim vAnswer As Variant ~ vAnswer = MsgBox("処理を継続しますか?", vbOKCancel, "タイトル") 第二引数は表示ボタンの種類を指定。ボタンの種類は こちら 参照。 【正規表現】サンプルコード参照 【コレクション 定義】Dim cTrgtPaths As Variant ~ Set cTrgtPaths = CreateObject("System.Collections.ArrayList") 【コレクション 追加】cTrgtPaths.Add "c \test\a.txt" 【コレクション 値取り出し(単一)】cTrgtPaths.Item(0) c \test\a.txt(0オリジン) 【コレクション 値取り出し(ループ)】Dim vTrgtPath As Variant ~ For Each vTrgtPath In cTrgtPaths ~ MsgBox vTrgtPath ~ Next 【コレクション 要素数取得】cTrgtPaths.Count 要素数(末尾の要素番号ではない) 【コレクション 削除】cTrgtPaths.Remove "c \test\b.xlsx" 要素の値を指定する。要素番号では削除できない。 【コレクション 挿入】cTrgtPaths.Insert 2, "c \test\e.ppt" 要素番号2へ挿入される(元要素番号2以降が一要素ずれる) 【コレクション ソート】cTrgtPaths.Sort 【コレクション 配列変換】Dim avTrgtPaths As Variant ~ avTrgtPaths = cTrgtPaths.ToArray() Variant型配列に変換 【コレクション 全要素削除】cTrgtPaths.Clear 【連想配列 定義】Dim oPriceOfFruit As Object ~ Set oPriceOfFruit = CreateObject("Scripting.Dictionary")(CreateObject 関数でインスタンス化した場合、VBA エディターでの自動補完(インテリセンス)が働かない!) 【連想配列 キー/項目追加】oPriceOfFruit.Add("リンゴ", "100円") 【連想配列 存在確認】oPriceOfFruit.Exists("リンゴ") 【連想配列 キー取得(For Each)】For Each vKey In oPriceOfFruit ~ Debug.print vKey ~ Next vKey は variant 型 【連想配列 項目取得(キー)】oPriceOfFruit.Item("リンゴ") 【連想配列 キー取得(インデックス)】oPriceOfFruit.Keys()(0) 0オリジン(アクセスが遅すぎるので注意!) 【連想配列 項目取得(インデックス)】oPriceOfFruit.Items()(0) 0オリジン(アクセスが遅すぎるので注意!) 【連想配列 キー置換】oPriceOfFruit.Key("リンゴ") = "りんご" 【連想配列 キー関連付け】oPriceOfFruit.Item("リンゴ") = "200円" 【連想配列 キー/項目数取得】oPriceOfFruit.Count 【連想配列 キー/項目削除】oPriceOfFruit.Remove("リンゴ") 指定されたキーが存在しない場合はエラー 【連想配列 キー/項目全削除】oPriceOfFruit.RemoveAll 【連想配列 配列変換(項目)】asFruitPrice = oPriceOfFruit.Items Variant型配列、0オリジン 【連想配列 配列変換(キー)】asFruitName = oPriceOfFruit.Keys Variant型配列、0オリジン 【連想配列 設定変更】oPriceOfFruit.CompareMode = vbBinaryCompare 大/小文字区別 /vbTextCompare(大/小文字区別しない 【エラー設定】On Error Resume Next 【エラー解除】On Error Goto 0 【エラー番号】Err.Number 【エラー内容】Err.Description 【エラーラベル】On Error GoTo ErrorLabel ErrorLabelはラベル名 【ラベル定義】ErrorLabel 【WScriptShellObject 取得】Dim objWshShell ~ Set objWshShell = CreateObject("WScript.Shell") 【バッチ実行①】objWshShell.Exec("C \test.bat") Execは標準入出力できるが、WSH 5.6以降からしかサポートされていないので注意 【バッチ実行②】objWshShell.Run "C \test.bat", 0, True 第二引数:ウィンドウの表示スタイル(ウィンドウを非表示、別のウィンドウをアクティブ)、第三引数:プログラムの実行が終了するまでスクリプトを待機させるかどうか(詳細はこちら) 【レジストリ読込】objWshShell.RegRead("HKCU\WshTest\Test1") 【レジストリ書込】objWshShell.RegWrite("HKCU\WshTest\Test1", "test", "REG_SZ") キー/値,設定値,データ型 【環境変数 値取得】objWshShell.ExpandEnvironmentStrings( "%MYPATH_CODES%" ) 【特殊フォルダのパス取得】objWshShell.SpecialFolders("Desktop") デスクトップフォルダ 取得できるフォルダは「AllUsersDesktop」 「AllUsersStartMenu」 「AllUsersPrograms」 「AllUsersStartup」 「Desktop」 「Favorites」 「Fonts」 「MyDocuments」 「NetHood」 「PrintHood」 「Programs」 「Recent」 「SendTo」 「StartMenu」 「Startup」 「Templates」 【ショートカット作成】With objWshShell.CreateShortcut( "c \test\src.txt.lnk" ) ~ .TargetPath = "c \test\dst.txt" ~ .Save ~ End With 【ショートカット 指示先パス取得】objWshShell.CreateShortcut( "c \test\src.txt.lnk" ).TargetPath 参照だけでなく変更も可 【ショートカット 指示先パス更新】With objWshShell.CreateShortcut( "c \test\src.txt.lnk" ) ~ .TargetPath = "c \test\dst2.txt" ~ .Save ~ End With 【FileSystemObject 取得】Dim objFSO As Object ~ Set objFSO = CreateObject("Scripting.FileSystemObject") 【ファイルコピー(自ブック)】objFSO.CopyFile ThisWorkbook.FullName, "c \temp\test.xlsm" 【ファイル コピー①】objFSO.CopyFile "C \codes\a.txt", "C \codes\test\" src dst [ overwrite ] 、 dst の末尾に "\" をつけること! 【ファイル コピー②】objFSO.CopyFile "C \codes\a.txt", "C \codes\test\a.txt" src dst [ overwrite ] 【ファイル 削除】objFSO.DeleteFile "c \test", True 【ファイル 移動/リネーム】objFSO.MoveFile "C \codes\src.txt", "C \codes\dst.txt" 【ファイル 存在確認①】If Dir("C \Book1.xlsx") "" Then ~(存在)~ Else ~(非存在)~ End If 【ファイル 存在確認②】objFSO.FileExists("c \codes\a.txt") True 【ファイル 情報取得】objFSO.GetFile( "C \codes\a.txt" ).Attributes 32 (※)値の意味は 【ファイル・フォルダ情報取得】 参照 【ファイル 隠しファイル化】objFSO.GetFile( "C \codes\a.txt" ).Attributes = 2 【ファイル 絶対パス取得】objFSO.GetAbsolutePathName( "C \codes\a.txt" ) C \codes\a.txt 【ファイル ドライブ名取得】objFSO.GetDriveName( "C \codes\a.txt" ) C 【ファイル ファイル名取得】objFSO.GetFileName( "C \codes\a.txt" ) a.txt 【ファイル ファイルベース名取得】objFSO.GetBaseName( "C \codes\a.txt" ) a 【ファイル 拡張子取得】objFSO.GetExtensionName( "C \codes\a.txt" ) txt 【ファイル 親フォルダパス取得】objFSO.GetParentFolderName( "C \codes\a.txt" ) C \codes 【フォルダ コピー】objFSO.CopyFolder "C \codes\src", "C \codes\dst", True 配下フォルダ/ファイルも丸ごとコピー 【フォルダ 削除】objFSO.DeleteFolder "C \codes\test", True 配下フォルダ/ファイルも丸ごと削除 【フォルダ 作成】objFSO.CreateFolder( "C \codes\test" ) 親フォルダがない場合、エラーになる 【フォルダ 移動/リネーム】objFSO.MoveFolder "C \codes\src", "C \codes\dst" 配下フォルダ/ファイルも丸ごと移動/リネーム 【フォルダ 情報取得】objFSO.GetFolder( "C \codes" ).Attributes 32 (※)値の意味は 【ファイル・フォルダ情報取得】 参照 【フォルダ 存在確認】objFSO.FolderExists( "C \codes" ) True 【フォルダ 親フォルダパス取得】objFSO.GetParentFolderName( "C \codes\src" ) C \codes 【TXTファイルオープン/クローズ】Open ファイル名 For [Input|Output|Append] As #1 ~ Close #1 【TXTファイル読込(一行ずつ)】Do Until EOF(1) ~ Line Input #1, 文字列変数 ~ Loop 【TXTファイル読込(一括)】sTestFile = objFSO.GetFile(ファイルパス).OpenAsTextStream.ReadAll 返却値は「配列型」でないことに注意!改行文字を含んだ「文字列型」で返却される! 【TXTファイル書込】Print #1, 文字列変数 【XLSファイルオープン/クローズ】Set wTargetBook = Workbooks.Open(sTargetBookName) ~ wTargetBook.Close SaveChanges =True 【置換】Replace(文字列変数, " ", "") 【文字列検索(前方)】InStr("abcabc", "bc") 先頭からの位置、1オリジン(いない場合は0が返る 【文字列検索(後方)】InStrRev("abcabc", "bc") 末尾からの位置、1オリジン(いない場合は0が返る 【文字列 長さ(文字数)】Len("リンゴ") 3 【文字列 長さ(バイト数)】LenB("リンゴ") 6 【文字列結合】"abcdef" "gh" 【文字列抽出 左】Left$("abcd", 3) abc 【文字列抽出 中】Mid$("abcdefgh", 3, 2) cd(1オリジン) 【文字列抽出 右】Right$("abcd", 2) cd 【文字列⇒ASCII 変換】Asc(文字) 【文字列の数値判定】IsNumeric( sStr ) 1⇒True、"a"⇒False、""⇒False 【ASCII⇒文字列 変換】Chr(ASCIIコード) (ex. Chr(Asc("①") + 1) ⇒ ② ) 【文字列繰り返し】"a" String("b", 4) abbbb 【大文字化】UCase("aaa") 【小文字化】LCase("AAA") 【配列再定義】ReDim Preserve 配列名(5) 要素数は0オリジン。左の例では要素数6の配列が作成される 【配列最大要素数】UBound(配列名) 返却値は0オリジン。返却値が3の場合、0~3 の配列であることを示す 【要素数0(未初期化)/要素数1配列判定】If Sgn(asStr) = 0 Then ~未初期化配列~ Else ~要素数1配列~ End If 【配列 結合】Join(配列, ",") 【配列 分割】文字列配列 = Split("aaa,bbb,ccc", ",") 【型取得(文字列)】TypeName("Test") String 【型取得(値)】VarType("Test") 8(値の詳細は こちら 参照) 【10⇒16進数変換】文字列変数 = Hex(734) 【16⇒10進数変換1】Long変数 = CLng(" H" "FA") 【16⇒10進数変換2】Int変数 = CInt(" H" "FA") 【符号つき16進数表現】 HFFF0 【符号なし16進数表現】 HFFF0 【文字列⇒数値変換】Val(文字列式) 【数値⇒文字列変換】Str(数値) 【改行】( vbNewLine | vbCr | vbLf | vbCrLf ) 【少数 正数 切り捨て①】Fix( 99.224 ) 99 【少数 正数 切り捨て②】Int( 99.224 ) 99 【少数 負数 切り捨て①】Fix( -99.224 ) -99 (※)負数の場合は切り上げ 【少数 負数 切り捨て②】Int( -99.224 ) -100 (※)負数の場合は切り下げ 【少数 正数 四捨五入(第一位)】Round( 99.555, 0 ) 100 【少数 正数 四捨五入(第二位)】Round( 99.555, 1 ) 99.6 【少数 正数 四捨五入(第三位)】Round( 99.555, 2 ) 99.56 【少数 負数 四捨五入(第一位)】Round( -99.555, 0 ) -100 【少数 負数 四捨五入(第二位)】Round( -99.555, 1 ) -99.6 【少数 負数 四捨五入(第三位)】Round( -99.555, 2 ) -99.56 【少数 正数 切り上げ(第一位)】Round( 99.224 + 0.5, 0 ) 100 【少数 正数 切り上げ(第二位)】Round( 99.224 + 0.05, 1 ) 99.3 【少数 負数 切り上げ(第一位)】Round( -99.224 - 0.5, 0 ) -100 【少数 負数 切り上げ(第二位)】Round( -99.224 - 0.05, 1 ) -99.3 【少数 正数 切り下げ(第一位)】Round( 99.224 - 0.5, 0 ) 99 (=切り捨て) 【少数 正数 切り下げ(第二位)】Round( 99.224 - 0.05, 1 ) 99.2 【少数 負数 切り下げ(第一位)】Round( -99.224 + 0.5, 0 ) -99 (=切り捨て) 【少数 負数 切り下げ(第二位)】Round( -99.224 + 0.05, 1 ) -99.2 【現在時刻取得】Now YYYY/DD/MM HH MM SS 【現在年月日取得】Date YYYY/MM/DD 【0 00から現在までの経過時間(秒数)】Timer 49229.781(13 40 29 .781) 【日付比較】If DateDiff("s", sCmpBaseTime, sModDate ) 0 Then ~( sModDate が新しい)~ ElseIf DateDiff("s", sCmpBaseTime, sModDate ) 0 Then ~( sModDate が古い)~ Else ~( sModDate = sCmpBaseTime)~ End If 日付は "YYYY/MM/DD" の文字列として指定する 【Wait処理】 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ~ Sleep 1000 ms 単位 【ブック作成】Dim wTrgtBook As Workbook ~ Application.SheetsInNewWorkbook = 1 ~ Set wTrgtBook = Workbooks.Add SheetsInNewWorkbook は作成時のシート数を指定 【ブック既に開いているか確認】If wCsvBook.Name Dir("C \Book1.xlsx") Then ~(処理)~ Else ~(エラー)~ End If 【ブック追加】Dim bAddBook As Workbook ~ Set bAddBook = Workbooks.Add 【ブック作成&シートコピー】ThisWorkbook.Sheets(シート名).Copy Set wTrgtBook = ActiveWorkbook 【ブック新規保存】wTrgtBook.SaveAs Filename =sFilePath 【シート数取得】.Sheets.Count 【シート追加】Dim shAddSht As Worksheet ~ Set shAddSht = ThisWorkbook.Sheets.Add 【シート移動(末尾)】ThisWorkbook.Sheets(シート名).Move After =ThisWorkbook.Sheets( ThisWorkbook.Sheets.Count ) 【シート削除】Application.DisplayAlerts = False ~ .Sheets(シート名).Delete ~ Application.DisplayAlerts = True 【シート表示/非表示】.Sheets(シート名).Visible = (True|False) 【シート並べ替え】.Sheets(シート名).Move Before =Sheets(1) 【画面表示 ON】Application.ScreenUpdating = True 【画面表示 OFF】Application.ScreenUpdating = False 【計算方法切替 自動】Application.Calculation = xlCalculationAutomatic 【計算方法切替 手動】Application.Calculation = xlCalculationManual 【ブック再計算】Application.Calculate 【ブック強制再計算】Application.CalculateFull 【確認メッセージ抑制/表示】Application.DisplayAlerts = (False|True) 【セル検索(行番号取得)】.Cells.Find("りんご", LookAt =xlWhole).Row 【セル検索(行番号取得)】.Cells.Find("りんご", LookAt =xlWhole).Column 【セル参照方法】.Cells(X, Y).Value I,X,Yは1オリジン 【セル位置取得(Y軸)】.Cells(1, 1).Top 単位:ポイント 【セル位置取得(X軸)】.Cells(1, 1).Left 単位:ポイント(セルの高さ/幅は取得できないので、次セルの Top/Left との差分で判断する必要がある) 【行削除】.Cells(1, 1).EntireRow.Delete Shift =xlShiftUp 【行追加】Application.CutCopyMode = False ~ .Range("2 4").Insert 【取消線取得】.Cells(行, 列).Font.Strikethrough 【枠線非表示】wTrgtBook.Sheets(シート名).Activate ~ ActiveWindow.DisplayGridlines = False 【フォント名取得】文字列変数 = .Range("A1").Font.Name 【可視/不可視チェック(行)】.Range("A1").EntireRow.Hidden 【可視/不可視チェック(列)】.Range("A1").EntireColumn.Hidden 【フォントサイズ変更】.Range("A1").Font.Size = 14 【フォントカラー変更】.Range("A1").Font.Color = RGB(0, 255, 0) 【フォント太字変更】.Range("A1").Font.Bold = True 【フォント下線変更】.Range("A1").Font.Underline = True 【背景色変更】.Range("A1").Interior.Color = RGB(255, 255, 0) 【罫線(格子)設定】.Range("A1 C3").Borders.LineStyle = xlContinuous 【セル結合】.Range("A1 C3").MergeCells = True 【セル選択範囲内中央】.Range("A1 C3").HorizontalAlignment = ( xlCenterAcrossSelection | xlGeneral ) 【最終行取得】数値変数 = .Cells(.Rows.Count, 列).End(xlUp).Row 【最終列取得】数値変数 = .Cells(行, .Columns.Count).End(xlToLeft).Column 【最終行取得(全列の中で最大)】数値変数 = .Sheets(シート名).UsedRange.Rows.Count + 1 【最終列取得(全行の中で最大)】数値変数 = .Sheets(シート名).UsedRange.Columns.Count + 1 【選択範囲位置取得(先頭行)】Selection(1).Row 【選択範囲位置取得(末尾行)】Selection(Selection.Count).Row 【選択範囲位置取得(先頭列)】Selection(1).Column 【選択範囲位置取得(末尾列)】Selection(Selection.Count).Column 【Rangeオブジェクトの行/列番号指定】.Range(.Cells(1, 1), .Cells(6, 3)) 【セルコピー(書式保持)】.Range("A1 B9").Copy Destination =ThisWorkBook.Sheets(シート名2).Range("B1") 【セルソート】.Range(.Cells(1, 1), .Cells(.Rows.Count, 2)).Sort Key1 =.Cells(1, 2) ,order1 =xlAscending 【範囲セル 値クリア(書式そのまま)】.Range("A1 A2").ClearContents 【範囲セル 書式クリア】.Range("A1 A2").ClearFormats 【範囲セル 書式貼り付け】.Range("A1 A2").PasteSpecial (xlPasteFormats) 数式:xlPasteFormulas、値:xlPasteValues、書式:xlPasteFormats、コメント:xlPasteComments、入力規則:xlPasteValidation 【空白セル選択】.Range("A1 CV100").SpecialCells(xlCellTypeBlanks).Select 【列幅変更】.Range("A1").ColumnWidth = 5 行はRowHeight 【自動列幅調整】.Range(.Cells(4, 2), .Cells(9, 2)).Columns.AutoFit 行はRows 【自動列幅調整(全領域)】.Sheets(シート名).UsedRange.Columns.AutoFit 行はRows 【選択セルに対して「選択範囲内で中央」】Selection.HorizontalAlignment = xlCenterAcrossSelection 【コピー/切り取りモード解除】Application.CutCopyMode = False 【グループ化(行)】.Range( .Rows( lStrtRow ), .Rows( lLastRow ) ).Group 解除は Group → Ungroup 【グループ化(行)】.Range( .Columns( lStrtRow ), .Columns( lLastRow ) ).Group 解除は Group → Ungroup 【アウトライン設定変更(上下)】.Sheets(シート名).Outline.SummaryRow = ( xlBelow | xlAbove ) 【アウトライン設定変更(左右)】.Sheets(シート名).Outline.SummaryColumn = ( xlRight | xlLeft ) 【アウトライン設定変更(自動)】.Sheets(シート名).Outline.AutomaticStyles = ( True | False ) 【ChartObject定義】Dim oChartObj As ChartObject ~ Set oChartObj = ThisWorkbook.Sheets(シート名).ChartObjects(1) 【グラフ 追加】Set oChartObj = .Sheets(シート名).ChartObjects.Add( XPOS, YPOS, WIDTH, HEIGHT ) XPOS, YPOS, WIDTH, HEIGHTの単位はポイント 【グラフ 削除】oChartObj.Delete 【グラフ コピー】oChartObj.Chart.ChartArea.Copy 【グラフ 移動(Y軸)】oChartObj.Top = 10 【グラフ 移動(X軸)】oChartObj.Left = 20 【グラフ サイズ変更(幅)】oChartObj.Width = 200 【グラフ サイズ変更(高さ)】oChartObj.Height = 300 【グラフ 種別】oChartObj.Chart.ChartType = xlXYScatterLines xlXYScatterLines 折れ線付き散布図、xlLine 折れ線、... 【グラフ データ範囲変更】oChartObj.Chart.SetSourceData Source =Union(rXAxsRng, rDataRng) データ範囲指定 【グラフ X軸 タイトル 有無】oChartObj.Chart.Axes(xlCategory).HasTitle = True 【グラフ X軸 タイトル 変更】oChartObj.Chart.Axes(xlCategory).AxisTitle.Text = "Test Axis X" 【グラフ X軸 目盛軸 有無】oChartObj.Chart.Axes(xlCategory).HasMajorGridlines = True 【グラフ X軸 目盛軸 色】oChartObj.Chart.Axes(xlCategory).MajorGridlines.Border.Color = RGB(217, 217, 217) 【グラフ X軸 目盛軸 太さ】oChartObj.Chart.Axes(xlCategory).MajorGridlines.Border.Weight = 2 【グラフ X軸 目盛軸 スタイル】oChartObj.Chart.Axes(xlCategory).MajorGridlines.Border.LineStyle = (xlContinuous|xlDot|xlDouble|xlLineStyleNone|...) 【グラフ X軸 補助目盛軸 〃】上記【グラフ X軸 目盛軸 ~】の「MajorGridlines」を「MinorGridlines」に変更 【グラフ X軸 最小値 自動】oChartObj.Chart.Axes(xlCategory).MinimumScaleIsAuto = False 【グラフ X軸 最大値 自動】oChartObj.Chart.Axes(xlCategory).MaximumScaleIsAuto = False 【グラフ X軸 最小値 設定】oChartObj.Chart.Axes(xlCategory).MinimumScale = 0 【グラフ X軸 最大値 設定】oChartObj.Chart.Axes(xlCategory).MaximumScale = 100 【グラフ X軸 縦軸との交点】oChartObj.Chart.Axes(xlCategory).Crosses = (xlMinimum|xlMaximum|xlAutomatic) 【グラフ Y軸 〃】上記【グラフ X軸 ~】の「xlCategory」を「xlValue」に変更 【グラフ タイトル 有無】oChartObj.Chart.HasTitle = True 【グラフ タイトル 変更】oChartObj.Chart.ChartTitle.Text = "Test Title" 【グラフ タイトル グラフに重ねる】oChartObj.Chart.ChartTitle.IncludeInLayout = False False 重ねる、True 重ねない 【グラフ 凡例 有無】oChartObj.Chart.HasLegend = True 【グラフ 凡例 位置】oChartObj.Chart.Legend.Position = (xlLegendPositionTop|xlLegendPositionBottom|xlLegendPositionLeft|xlLegendPositionRight|...) 【グラフ 凡例 グラフに重ねる】oChartObj.Chart.Legend.IncludeInLayout = False False 重ねる、True 重ねない 【グラフ 画像として貼り付け】.Sheets(シート名).PasteSpecial Format ="図 (JPEG)", Link =False, DisplayAsIcon =False 【ワークシート関数】Application.WorksheetFunction.VLookup(.Range("C1"), .Range("A1 B7"), 2, False) 【フォーム ロード】Dim goPrgrsBar As New ProgressBar ~ goPrgrsBar.Show vbModeless 【フォーム アンロード】goPrgrsBar.Hide ~ Unload goPrgrsBar ~ Set goPrgrsBar = Nothing 【Collection 項目取得(キー)】cCollection.Item("リンゴ") 【Collection 項目取得(インデックス)】cCollection(0) 【Collection 項目取得(For Each)】For Each vItem In cCollection ~ Debug.print vItem ~ Next 【チェックボックス値取得(フォームコントロール)】lChk = ThisWorkbook.Sheets(シート名).CheckBoxes(1).Value On 1 Off -4146 【ユーザフォーム表示中のキー操作】Private Sub xxx_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) ~ End Sub xxx はフォーカス中のフォーム名。フォーム xxx にフォーカスがある場合だけ、KeyUp イベントが発生する。 どのフォームにフォーカスがあっても動く KeyUp イベントを作りたい場合、全フォームに対して上記イベントを作る! ライブラリ 【XLSファイル存在確認~オープン~クローズ】 【TXTファイル存在確認~オープン~クローズ】 【TXTファイル存在確認~オープン~クローズ(キャラクタセット指定)】 【フォルダ作成(再帰処理)】 【ファイル名一覧取得】 【ファイル・ディレクトリ 判別】 【ファイル・ディレクトリ 選択ダイアログ】 【ファイル・フォルダ情報取得】 【コマンド実行】 【プログレスバー表示】 【性能測定】 【エラー処理】 【配列の Push, Pop 関数】 【イミディエイトウィンドウクリア】 【シート一覧】 【ツリー図オブジェクト生成】 【ファイル名・フォルダ名抽出関数】 【セル範囲文字結合/分割関数】 【セル属性取得関数】 【ビット演算関数】 【キー送信】 【特殊貼り付け】 サンプルコード 【プログラムテンプレート】 【シート存在確認】 【セル検索(存在しない場合を考慮)】 【セル重複削除】 【VBA のプロシージャ一覧取得】 2014/05/20 追記:MZToolsの機能でプロシージャ一覧作成が可能 【グラフ作成&画像変換】 【テキストボックス作成】 【正規表現】 正規表現と文字列検索 InStr の速度についての考察… マッチングを 500000 回繰り返すと、正規表現は約 2800 ms、InStr では約 50 ms。 正規表現は 56 倍遅い! 参考URL http //officetanaka.net/excel/vba/tips/tips38.htm 【連想配列】 連想配列を使用することにより、膨大な件数(※)の検索が劇的に早くなる。 ※ 検索対象 15 件以上(それ未満だと配列検索のほうが早い。.Exists API のオーバーヘッドのせい?) その他 【型一覧】 データ型 名称 消費メモリ 格納できる範囲 Integer 整数型 2バイト -32,768 ~ 32,767 Long 長整数型 4バイト -2,147,483,648 ~ 2,147,483,647 Single 単精度浮動小数点数型 4バイト -3.402823E38 ~ -1.401298E-45(負の値) 1.401298E-45 ~ 3.402823E38(正の値) Double 倍精度浮動小数点数型 8バイト -1.79769313486232E308 ~ -4.94065645841247E-324(負の値) 4.94065645841247E-324 ~ 1.79769313486232E308(正の値) Currency 通貨型 8 バイト -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 String 文字列型 2バイト 最大約20億文字まで Date 日付型 8 バイト 西暦100 年1月1日~西暦9999年12月31日までの日付と時刻 Object オブジェクト型 4 バイ オブジェクトを参照するデータ型 Variant バリアント型 16バイト 可変長の文字列型の範囲と同じ。 Boolean ブール型 2 バイト 真 (True) または偽 (False) 【演算子】 演算子 意味 変数への代入例 + 加算する i = 15 + 5 ( i の値は20) - 減算する i = 15 - 5 ( i の値は10) * 乗算する i = 5 * 4 ( i の値は20) / 除算する i = 15 / 5 ( i の値は3) ¥ 除算の商 i = 15 \ 2 ( i の値は7) Mod 除算の余り i = 15 Mod 2 ( i の値は1) ^ べき乗する i = 2 ^ 5 ( i の値は32) 【エラー種別】 ex) CVErr(xlErrNum) 定数 エラー番号 セルのエラー値 xlErrDiv0 2007 #DIV/0! XlErrNA 2042 #N/A xlErrName 2029 #NAME? XlErrNull 2000 #NULL! XlErrNum 2036 #NUM! XlErrRef 2023 #REF! XlErrValue 2015 #VALUE! ここを編集
https://w.atwiki.jp/syukensya1990/pages/24.html
通信・電波管理などの事務を行っている。行政管理省の外局。電子政府の開発、インターネットの普及などに近年積極的で、日本の大手電機メーカーのMECと共同で電子政府システムを開発している。またインターネット普及においては全国の90%の小中学校にパソコンを設置している。 情報通信庁長官 堀田 平吉 副大臣 片岡 聖子 所在地 〒000-0000 新都府水田区2丁目1-6 合同庁舎第1館 内部部局 情報通信政策局 情報通信基盤局 郵政行政局 電子政府構築局
https://w.atwiki.jp/waxwing_k/pages/14.html
通信路符号化 通信路符号化の枠組み 線形符号 線形符号の定義 検査行列 通信路容量とシャノン限界 2値入力AWGN通信路 2値入力AWGN通信路の通信路容量 2値入力AWGN通信路のシャノン限界 2値入力AWGN通信路における達成可能ビット誤り率 文献案内 ↑低密度パリティ検査符号とその復号法
https://w.atwiki.jp/bfw1003/pages/8.html
各職テンプレ ナイト http //roknight.netgamers.jp/ クルセ http //crsdr.netgamers.jp/ アサシン http //nekodake.cats.st/Assassin/ ローグ http //mohige.s253.xrea.com/ ハンター http //www.eldgasyk.jp/~hunter/ バード/ダンサー http //raicyou.s243.xrea.com/ ウィザード http //www.eldgasyk.jp/~wizard/ セージ http //www.ragfun.net/sage/ プリースト http //applepie.leminx.com/ モンク http //monk.s221.xrea.com/ ブラックスミス http //smith.xrea.jp/ アルケミスト http //alchemist.s214.xrea.com/ 拳聖 http //taekwon.s239.xrea.com/ ソウルリンカー http //www.nike-net.com/linker_wiki/ 忍者 http //ninja.s235.xrea.com/ ガンスリンガー http //gunslinger.s233.xrea.com/ Gv関連 GVGサイト http //ro119.com/ ぷ。 http //members.at.infoseek.co.jp/pu_guildmap/ ギルド攻城戦 http //ragnarok-gvg.hp.infoseek.co.jp/guild.html GvG FormationMaker http //joy.poosan.net/gen_m_s/GvGFormationMaker/ その他 ガンホー http //www.gungho.jp/ ラグナロクオンライン公式HP http //www.ragnarokonline.jp/ OWN RAGNAROK http //yokaichi.com/ro/ BOTNEWS http //blog.livedoor.jp/botnews/ RO店価格調査隊 http //ro-price.net/index5.php ROratorio(RO計算機) http //roratorio.2-d.jp/ro/ 狩場情報ひっそり http //huntinfo.xrea.jp/ RO未実装システム情報Wiki http //future.sgv417.jp/index.php?FrontPage RMC http //www5.big.or.jp/~haya/rmc/ 生体研究所萌えスレまとめ http //sudouaya.fc2web.com/seitai/ ROクエスト案内所 http //roq.tm.land.to/
https://w.atwiki.jp/lahm/pages/1.html
@wikiへようこそ ウィキはみんなで気軽にホームページ編集できるツールです。 このページは自由に編集することができます。 メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます まずはこちらをご覧ください。 @wikiの基本操作 用途別のオススメ機能紹介 @wikiの設定/管理 おすすめ機能 気になるニュースをチェック 関連するブログ一覧を表示 その他にもいろいろな機能満載!! @wikiプラグイン @wiki便利ツール @wiki構文 バグ・不具合を見つけたら? お手数ですが、こちらからご連絡宜しくお願いいたします。 ⇒http //atwiki.jp/guide/contact.html 分からないことは? @wiki ご利用ガイド よくある質問 @wikiへお問い合わせ 等をご活用ください
https://w.atwiki.jp/cabal_loveroot21/pages/7.html
https://w.atwiki.jp/acidman/pages/23.html
Link ACIDMAN toshiba-emi.co.jp 東芝EMIによる公式ページ ACIDMAN Official Website Virgin Musicによる公式ページ the Nomadic Records Web Site Nomadic Recordsによる公式ページ Yahoo!ミュージック Yahoo!ミュージック ACIDMAN 歌詩や曲のダウンロードなど 培養 Un official web site ACIDMAN成分解析 さまざまな言葉をACIDMAN成分に解析
https://w.atwiki.jp/sheryl/pages/97.html
Official Outside link シェリル・ノーム オフィシャルブログ ::: May n オフィシャル ウェブサイト ::: 遠藤綾公式ブログ a*ya mode 217 マクロスF公式サイト マクロスF公式サイト (MBS) マクロスシリーズ公式サイト Unofficial outside link 放射性うみねこ memo256 マクロスF関連ページ